package com.example.dto;

import com.example.model.dto.BaseDTO;
import com.example.validator.group.AddGroup;
import com.example.validator.group.DefaultGroup;
import com.example.validator.group.UpdateGroup;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import jakarta.validation.constraints.*;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serializable;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 套餐表
 *
 * @author yyyyjinying 1020066395@qq.com
 * @since 1.0-SNAPSHOT 2025-04-29
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@Schema(description = "套餐表")
public class SetmealsDTO extends BaseDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    @Null(message = "{id.null}", groups = AddGroup.class)
    @NotNull(message = "{id.require}", groups = UpdateGroup.class)
    @Schema(description = "套餐ID")
    private Long id;
    @Schema(description = "租户ID")
    private Long tenantId;
    @Schema(description = "门店ID")
    private Long storeId;
    @Schema(description = "套餐名称")
    private String name;
    @Schema(description = "套餐价格")
    private BigDecimal price;
    @Schema(description = "状态：1-启用，0-禁用")
    private Integer isActive;
    @Schema(description = "就餐类型：0:堂食; 1:外带；2：堂食外带； 3：配送； 4：全部 5：外带配送")
    private String eatType;
    @Schema(description = "分类ID")
    private Long categoryId;
    private String categoryName;
    @Schema(description = "菜品ids")
    private List<Long> dishIds;
    @Schema(description = "套餐主图URL")
    private String imageUrl;
    @Schema(description = "套餐缩略图")
    private String thumbnailUrl;
    @Schema(description = "套餐图片列")
    private List<ImagesDTO> imageLists;
    @Schema(description = "套餐缩略图片列")
    private List<ImagesDTO> thumbnailLists;

}